// 给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串，
//判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成，返回 true ；否则返回 false。

// (题目说明：为了不暴露赎金信字迹，要从杂志上搜索各个需要的字母，组成单词来表达意思。)

// 注意：

// 你可以假设两个字符串均只含有小写字母。

// canConstruct("a", "b") -> false
// canConstruct("aa", "ab") -> false
// canConstruct("aa", "baab") -> true


// var canConstruct = function(ransomNote, magazine) {
// 	if(ransomNote === magazine){
// 		return true;
// 	}
//     if(ransomNote.length > magazine.length){
//     	return false;
//     }
//     let x; 
//     magazine=magazine.split("");
//     for(let i = 0; i < ransomNote.length; i++){ 
//     	if((x = magazine.indexOf(ransomNote[i])) > -1){ 
//      		magazine[x] = 0; 
//      	}
//      	else{
//      		return false; 
//      	} 
//      } 
//      return true;
// };


var canConstruct = function(ransomNote, magazine) {
    if(ransomNote === magazine){
        return true;
    }
    if(ransomNote.length > magazine.length){
        return false;
    }
    for(let i = 0; i < ransomNote.length; i++) {
        if(magazine.indexOf(ransomNote[i]) === -1) {
            return false;
        }
        magazine = magazine.replace(ransomNote[i], '');
    }
    return true;
 
};
console.log(canConstruct("bg", "efjbdfbdgfjhhaiigfhbaejahgfbbgbjagbddfgdiaigdadhcfcj"));
